﻿namespace WMS6.Web.InboundServiceRef
{
    using System;
    using System.CodeDom.Compiler;
    using System.ComponentModel;
    using System.Diagnostics;
    using System.Runtime.CompilerServices;
    using System.Runtime.Serialization;

    [Serializable, GeneratedCode("System.Runtime.Serialization", "3.0.0.0"), DebuggerStepThrough, DataContract(Name="ReceivingWeightInfo", Namespace="http://schemas.datacontract.org/2004/07/WMS6.DataEntity")]
    public class ReceivingWeightInfo : IExtensibleDataObject, INotifyPropertyChanged
    {
        [NonSerialized]
        private ExtensionDataObject extensionDataField;
        [OptionalField]
        private string LPNIDField;
        [OptionalField]
        private string ReceiptIDField;
        [OptionalField]
        private string SkuBarcodeField;
        [OptionalField]
        private string SkuDescrField;
        [OptionalField]
        private string SkuIDField;
        [OptionalField]
        private string SkuStyleField;
        [OptionalField]
        private decimal WeightField;

        public event PropertyChangedEventHandler PropertyChanged;

        protected void RaisePropertyChanged(string propertyName)
        {
            PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if (propertyChanged != null)
            {
                propertyChanged(this, new PropertyChangedEventArgs(propertyName));
            }
        }

        [Browsable(false)]
        public ExtensionDataObject ExtensionData
        {
            get
            {
                return this.extensionDataField;
            }
            set
            {
                this.extensionDataField = value;
            }
        }

        [DataMember]
        public string LPNID
        {
            get
            {
                return this.LPNIDField;
            }
            set
            {
                if (!object.ReferenceEquals(this.LPNIDField, value))
                {
                    this.LPNIDField = value;
                    this.RaisePropertyChanged("LPNID");
                }
            }
        }

        [DataMember]
        public string ReceiptID
        {
            get
            {
                return this.ReceiptIDField;
            }
            set
            {
                if (!object.ReferenceEquals(this.ReceiptIDField, value))
                {
                    this.ReceiptIDField = value;
                    this.RaisePropertyChanged("ReceiptID");
                }
            }
        }

        [DataMember]
        public string SkuBarcode
        {
            get
            {
                return this.SkuBarcodeField;
            }
            set
            {
                if (!object.ReferenceEquals(this.SkuBarcodeField, value))
                {
                    this.SkuBarcodeField = value;
                    this.RaisePropertyChanged("SkuBarcode");
                }
            }
        }

        [DataMember]
        public string SkuDescr
        {
            get
            {
                return this.SkuDescrField;
            }
            set
            {
                if (!object.ReferenceEquals(this.SkuDescrField, value))
                {
                    this.SkuDescrField = value;
                    this.RaisePropertyChanged("SkuDescr");
                }
            }
        }

        [DataMember]
        public string SkuID
        {
            get
            {
                return this.SkuIDField;
            }
            set
            {
                if (!object.ReferenceEquals(this.SkuIDField, value))
                {
                    this.SkuIDField = value;
                    this.RaisePropertyChanged("SkuID");
                }
            }
        }

        [DataMember]
        public string SkuStyle
        {
            get
            {
                return this.SkuStyleField;
            }
            set
            {
                if (!object.ReferenceEquals(this.SkuStyleField, value))
                {
                    this.SkuStyleField = value;
                    this.RaisePropertyChanged("SkuStyle");
                }
            }
        }

        [DataMember]
        public decimal Weight
        {
            get
            {
                return this.WeightField;
            }
            set
            {
                if (!this.WeightField.Equals(value))
                {
                    this.WeightField = value;
                    this.RaisePropertyChanged("Weight");
                }
            }
        }
    }
}

